home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue44 / singletn / singleform2.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1999-01-26  |  1.5 KB  |  83 lines

  1. unit singleform2;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, singlebase;
  8.  
  9. type
  10.   TOne = class (TSingleton)
  11.   private
  12.     FValue: Integer;
  13.     procedure SetValue(const Value: Integer);
  14.   public
  15.     property Value: Integer read FValue write SetValue;
  16.   end;
  17.  
  18.   TTwo = class (TSingleton)
  19.   private
  20.     Ftext: string;
  21.     procedure Settext(const Value: string);
  22.   public
  23.     property text: string read Ftext write Settext;
  24.   end;
  25.  
  26.   TForm1 = class(TForm)
  27.     Button1: TButton;
  28.     Button2: TButton;
  29.     Memo1: TMemo;
  30.     Button3: TButton;
  31.     procedure Button1Click(Sender: TObject);
  32.     procedure Button2Click(Sender: TObject);
  33.     procedure Button3Click(Sender: TObject);
  34.   private
  35.   public
  36.     { Public declarations }
  37.   end;
  38.  
  39. var
  40.   Form1: TForm1;
  41.  
  42. implementation
  43.  
  44. {$R *.DFM}
  45.  
  46. procedure TForm1.Button1Click(Sender: TObject);
  47. var
  48.   o1: TOne;
  49. begin
  50.   o1 := TOne.Create;
  51.   Memo1.Lines.Add ('o1: ' + IntToStr (Integer (Pointer (o1))));
  52.   o1.Free; // useless
  53. end;
  54.  
  55. procedure TForm1.Button2Click(Sender: TObject);
  56. var
  57.   t1: TTwo;
  58. begin
  59.   t1 := TTwo.Create;
  60.   Memo1.Lines.Add ('t1: ' + IntToStr (Integer (Pointer (t1))));
  61. end;
  62.  
  63. { TTwo }
  64.  
  65. procedure TTwo.Settext(const Value: string);
  66. begin
  67.   Ftext := Value;
  68. end;
  69.  
  70. { TOne }
  71.  
  72. procedure TOne.SetValue(const Value: Integer);
  73. begin
  74.   FValue := Value;
  75. end;
  76.  
  77. procedure TForm1.Button3Click(Sender: TObject);
  78. begin
  79.   Memo1.Lines.Add(TSingleton.ListClasses);
  80. end;
  81.  
  82. end.
  83.